home *** CD-ROM | disk | FTP | other *** search
- // Copyright (c)1995 Ray Dream, Inc. All Rights Reserved.
- /* $Id: COMGEL.h 1.2 1996/08/30 22:04:16 DAMIEN Exp $ */
-
- ////////////////////////////////////////////////////////////////////////
- // First Gel Example : Gel Light //
- //--------------------------------------------------------------------//
- // Declaration of the Gel Interface //
- ////////////////////////////////////////////////////////////////////////
-
-
- #ifndef __COMGEL__
- #define __COMGEL__
-
- #ifndef __I3DEXGEL__
- #include "I3DExGel.h"
- #endif
-
- // CLSID of Gel Light
- // to put in the Registration Database \CLSID\{...} = RDD COM GelLight
- // InprocServer = fullpathname to RDX file
- // CEE32020-7BCA-101C-B801-04021C007002
- DEFINE_GUID(CLSID_GelLight, 0xCEE32020L, 0x7BCA, 0x101C, 0xB8, 0x01, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
-
-
- // Light Data structure
- typedef struct GelData {
- short fNbBranches; // Nb of branches of the star
- } GelData;
-
-
- // Gel Light Object :
- #undef INTERFACE
- #define INTERFACE GelLight
- class GelLight : public I3DExLightsourceGel {
- public :
- GelLight();
- ~GelLight();
-
- // IUnknown Interface :
- STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID* ppvObj);
- STDMETHODIMP_(ULONG) AddRef(THIS);
- STDMETHODIMP_(ULONG) Release(THIS);
-
- // I3DExtension method :
- STDMETHODIMP_(I3DExtension*) Clone(THIS);
- STDMETHODIMP ShellUtilitiesInit(THIS_ IShUtilities* shellUtilities);
-
- // I3DExDataExchanger methods :
- STDMETHODIMP_(ExtensionDataMap*) GetExtensionDataMap(THIS);
- STDMETHODIMP_(void*) GetExtensionDataBuffer(THIS);
- STDMETHODIMP ExtensionDataChanged(THIS);
- STDMETHODIMP HandleEvent(THIS_ ULONG sourceID);
- STDMETHODIMP_(short) GetResID(THIS);
-
- // I3DExLightsourceGel methods
- STDMETHODIMP_(BOOLEAN) GetGelValues(THIS_ VECTOR2D* getScreenPosition, COLOR3D* result);
-
- private :
- ULONG fCRef; // reference Counter
- GelData fData; // Gel Data (see definition of GelData structure)
- };
-
-
-
- #endif // __GELLIGHT__
-
-